Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

A visual debugger for pure Prolog

Identifieur interne : 00C654 ( Main/Exploration ); précédent : 00C653; suivant : 00C655

A visual debugger for pure Prolog

Auteurs : Dan E. Tamir [États-Unis] ; Ravi Ananthakrishnan [États-Unis] ; Abraham Kandel [États-Unis]

Source :

RBID : ISTEX:353D3033DB0D51145BF00491DB64F39DECA6F254

English descriptors

Abstract

Abstract: This work involves the design and coding of an interpreter for pure Prolog and building a visual debugger for it. Most of the available Prolog interpreters contain some tracing facilities. They do not incorporate, however, a comprehensive visual debugger. The interpreter performs the operations of parsing, unification, resolution, and search in a state-space representation of the Prolog program. The visual debugger incorporates the graphical visualization and the manipulation of the SLD resolution tree. The user visualizes the execution of a pure Prolog program and interacts with the program inside a windowing environment. The program execution may be viewed without interruption or the execution can be stopped at any moment in time. At this point the “snapshot” can be scrutinized with the help of break-points and data displays. This software aims itself to those who wish to observe the actual process of predicate unification, substitution, resolution and goal matching in a Prolog program and to visually interact with the interpreter using a highly friendly and pleasing user interface. An advanced feature, referred to as debugging on the tree, provides the user with the ability to insert break-points directly on the SLD tree, to choose the path of execution, and change the search mode. The resultant search algorithm can be a mixture of depth-first and breadth-first search, avoiding infinite search paths.

Url:
DOI: 10.1016/1069-0115(94)00048-7


Affiliations:


Links toward previous steps (curation, corpus...)


Le document en format XML

<record>
<TEI wicri:istexFullTextTei="biblStruct">
<teiHeader>
<fileDesc>
<titleStmt>
<title>A visual debugger for pure Prolog</title>
<author>
<name sortKey="Tamir, Dan E" sort="Tamir, Dan E" uniqKey="Tamir D" first="Dan E." last="Tamir">Dan E. Tamir</name>
</author>
<author>
<name sortKey="Ananthakrishnan, Ravi" sort="Ananthakrishnan, Ravi" uniqKey="Ananthakrishnan R" first="Ravi" last="Ananthakrishnan">Ravi Ananthakrishnan</name>
</author>
<author>
<name sortKey="Kandel, Abraham" sort="Kandel, Abraham" uniqKey="Kandel A" first="Abraham" last="Kandel">Abraham Kandel</name>
</author>
</titleStmt>
<publicationStmt>
<idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:353D3033DB0D51145BF00491DB64F39DECA6F254</idno>
<date when="1995" year="1995">1995</date>
<idno type="doi">10.1016/1069-0115(94)00048-7</idno>
<idno type="url">https://api.istex.fr/ark:/67375/6H6-871VT8KB-X/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">000C55</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">000C55</idno>
<idno type="wicri:Area/Istex/Curation">000C47</idno>
<idno type="wicri:Area/Istex/Checkpoint">002A69</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">002A69</idno>
<idno type="wicri:doubleKey">1069-0115:1995:Tamir D:a:visual:debugger</idno>
<idno type="wicri:Area/Main/Merge">00CF11</idno>
<idno type="wicri:Area/Main/Curation">00C654</idno>
<idno type="wicri:Area/Main/Exploration">00C654</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title level="a">A visual debugger for pure Prolog</title>
<author>
<name sortKey="Tamir, Dan E" sort="Tamir, Dan E" uniqKey="Tamir D" first="Dan E." last="Tamir">Dan E. Tamir</name>
<affiliation wicri:level="1">
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Computer Science, Florida Institute of Technology, 150 W. University Boulevard., Melbourne Florida 32901</wicri:regionArea>
<wicri:noRegion>Melbourne Florida 32901</wicri:noRegion>
</affiliation>
</author>
<author>
<name sortKey="Ananthakrishnan, Ravi" sort="Ananthakrishnan, Ravi" uniqKey="Ananthakrishnan R" first="Ravi" last="Ananthakrishnan">Ravi Ananthakrishnan</name>
<affiliation wicri:level="1">
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Computer Science, Florida Institute of Technology, 150 W. University Boulevard., Melbourne Florida 32901</wicri:regionArea>
<wicri:noRegion>Melbourne Florida 32901</wicri:noRegion>
</affiliation>
</author>
<author>
<name sortKey="Kandel, Abraham" sort="Kandel, Abraham" uniqKey="Kandel A" first="Abraham" last="Kandel">Abraham Kandel</name>
<affiliation wicri:level="4">
<country xml:lang="fr">États-Unis</country>
<wicri:regionArea>Department of Computer Science and Engineering, University of South Florida, 4202 East Fowler Avenue, Tampa Florida 33620</wicri:regionArea>
<orgName type="university">Université de Floride du Sud</orgName>
<placeName>
<settlement type="city">Tampa</settlement>
<region type="state">Floride</region>
</placeName>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series>
<title level="j">Information Sciences - Applications</title>
<title level="j" type="abbrev">INC</title>
<idno type="ISSN">1069-0115</idno>
<imprint>
<publisher>ELSEVIER</publisher>
<date type="published" when="1995">1995</date>
<biblScope unit="volume">3</biblScope>
<biblScope unit="issue">2</biblScope>
<biblScope unit="page" from="127">127</biblScope>
<biblScope unit="page" to="147">147</biblScope>
</imprint>
<idno type="ISSN">1069-0115</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt>
<idno type="ISSN">1069-0115</idno>
</seriesStmt>
</fileDesc>
<profileDesc>
<textClass>
<keywords scheme="Teeft" xml:lang="en">
<term>Abstract machine</term>
<term>Actual execution model</term>
<term>Binary resolution</term>
<term>Check points</term>
<term>Clause</term>
<term>Control structure</term>
<term>Current effort</term>
<term>Data structures</term>
<term>Debugger</term>
<term>Debugging</term>
<term>Empty clause</term>
<term>Endless loop</term>
<term>Example programs</term>
<term>Execution control</term>
<term>Execution model</term>
<term>Expert system</term>
<term>Fact base</term>
<term>First order logic</term>
<term>General framework</term>
<term>Graphical</term>
<term>Graphical display</term>
<term>Graphical representation</term>
<term>Ground instance</term>
<term>Ground instances</term>
<term>Herbrand theorem</term>
<term>Ieee software</term>
<term>Inference procedure</term>
<term>Infinite brunch</term>
<term>Intermediate values</term>
<term>Logic errors</term>
<term>Mouse button</term>
<term>Negative literals</term>
<term>Node</term>
<term>Nonaccurate view</term>
<term>Other programming languages</term>
<term>Panel items</term>
<term>Parallel execution</term>
<term>Parallel prolog</term>
<term>Parallel prolog interpreter</term>
<term>Predicate</term>
<term>Problem solution</term>
<term>Procedural language</term>
<term>Procedural languages</term>
<term>Production system</term>
<term>Program execution</term>
<term>Programmer</term>
<term>Prolog</term>
<term>Prolog code</term>
<term>Prolog debugging tools</term>
<term>Prolog execution</term>
<term>Prolog interpreter</term>
<term>Prolog program</term>
<term>Prolog programmer</term>
<term>Prolog programmers</term>
<term>Prolog programs</term>
<term>Pure prolog</term>
<term>Query</term>
<term>Refutation</term>
<term>Resolution principle</term>
<term>Resolution refutation tree</term>
<term>Resolution tree</term>
<term>Search mode</term>
<term>Software</term>
<term>Solution paths</term>
<term>Substitution</term>
<term>Tamir</term>
<term>Text window</term>
<term>Tracer</term>
<term>Tree structure</term>
<term>User</term>
<term>Various paths</term>
<term>Visual debugger</term>
<term>Visual tracer</term>
</keywords>
</textClass>
<langUsage>
<language ident="en">en</language>
</langUsage>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="en">Abstract: This work involves the design and coding of an interpreter for pure Prolog and building a visual debugger for it. Most of the available Prolog interpreters contain some tracing facilities. They do not incorporate, however, a comprehensive visual debugger. The interpreter performs the operations of parsing, unification, resolution, and search in a state-space representation of the Prolog program. The visual debugger incorporates the graphical visualization and the manipulation of the SLD resolution tree. The user visualizes the execution of a pure Prolog program and interacts with the program inside a windowing environment. The program execution may be viewed without interruption or the execution can be stopped at any moment in time. At this point the “snapshot” can be scrutinized with the help of break-points and data displays. This software aims itself to those who wish to observe the actual process of predicate unification, substitution, resolution and goal matching in a Prolog program and to visually interact with the interpreter using a highly friendly and pleasing user interface. An advanced feature, referred to as debugging on the tree, provides the user with the ability to insert break-points directly on the SLD tree, to choose the path of execution, and change the search mode. The resultant search algorithm can be a mixture of depth-first and breadth-first search, avoiding infinite search paths.</div>
</front>
</TEI>
<affiliations>
<list>
<country>
<li>États-Unis</li>
</country>
<region>
<li>Floride</li>
</region>
<settlement>
<li>Tampa</li>
</settlement>
<orgName>
<li>Université de Floride du Sud</li>
</orgName>
</list>
<tree>
<country name="États-Unis">
<noRegion>
<name sortKey="Tamir, Dan E" sort="Tamir, Dan E" uniqKey="Tamir D" first="Dan E." last="Tamir">Dan E. Tamir</name>
</noRegion>
<name sortKey="Ananthakrishnan, Ravi" sort="Ananthakrishnan, Ravi" uniqKey="Ananthakrishnan R" first="Ravi" last="Ananthakrishnan">Ravi Ananthakrishnan</name>
<name sortKey="Kandel, Abraham" sort="Kandel, Abraham" uniqKey="Kandel A" first="Abraham" last="Kandel">Abraham Kandel</name>
</country>
</tree>
</affiliations>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Exploration
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 00C654 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Main/Exploration/biblio.hfd -nk 00C654 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Main
   |étape=   Exploration
   |type=    RBID
   |clé=     ISTEX:353D3033DB0D51145BF00491DB64F39DECA6F254
   |texte=   A visual debugger for pure Prolog
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022